/*
Mayoeba Yabureru
*/
#include<bits/stdc++.h>
using namespace std;
long long k , fib [300] , did [300];
int main()
{
fib [0] = 1 , fib [1] = 1;
for ( int i = 2 ; i <= 80 ; i ++ ) fib [i] = fib [ i - 1 ] + fib [ i - 2 ];
//for ( int i = 0 ; i <= 50 ; i ++ ) cout << ' ' << i << ' ' << fib [i] << endl;
int T;
cin >> T;
while ( T -- )
{
cin >> k;
vector < pair < long long , int > > v;
long long sum = 0;
for ( int i = 0 ; i < k ; i ++ )
{
int x;
cin >> x;
sum += x;
v . push_back ( { x , 0 } );
}
long long lim = 0 , summ = 0;
for ( int i = 0 ; i < 80 ; i ++ )
{
summ += fib [i];
lim = i;
if ( summ >= sum ) break;
}
if ( summ != sum )
{
cout << "NO" << endl;
continue;
}
int f = 0;
for ( int i = lim ; i >= 0 ; i -- )
{
sort ( v . rbegin () , v . rend () );
for ( int j = 0 ; j < k ; j ++ )
{
if ( v [j] . second ) continue;
if ( v [j] . first >= fib [i] )
{
v [j] . first -= fib [i];
for ( int z = 0 ; z < k ; z ++ ) v [z] . second = 0;
v [j] . second = 1;
break;
}
}
}
for ( int i = 0 ; i < k ; i ++ )
{
if ( v [i] . first ) f = 1;
}
if ( f ) cout << "NO" << endl;
else cout << "YES" << endl;
}
}
349A - Cinema Line | 47A - Triangular numbers |
1516B - AGAGA XOOORRR | 1515A - Phoenix and Gold |
1515B - Phoenix and Puzzle | 155A - I_love_username |
49A - Sleuth | 1541A - Pretty Permutations |
1632C - Strange Test | 673A - Bear and Game |
276A - Lunch Rush | 1205A - Almost Equal |
1020B - Badge | 1353A - Most Unstable Array |
770A - New Password | 1646B - Quality vs Quantity |
80A - Panoramix's Prediction | 1354B - Ternary String |
122B - Lucky Substring | 266B - Queue at the School |
1490A - Dense Array | 1650B - DIV + MOD |
1549B - Gregor and the Pawn Game | 553A - Kyoya and Colored Balls |
1364A - XXXXX | 1499B - Binary Removals |
1569C - Jury Meeting | 108A - Palindromic Times |
46A - Ball Game | 114A - Cifera |